<!-- Author:Rain -->
<template>
    <Child></Child>
</template>

<script setup lang="ts">
import { provide } from "vue";
import Child from "@/components/provide/children.vue"
/* Provide 和 inject 会出现一下几个问题：
1.注入名冲突：解决方案，在项目中创建一个injection-key.ts的文件 /src/constants/injection-key.ts 并且使用Symbol来进行创建注入名，避免取名冲突
2.注入提示：没有提示的话，不得不去找全局的provide了，官方推荐我们使用TS+InjectionKey有效解决类型提示的问题
3.使用自定义的InjectStrict可以解决严格注入问题 */


import { AuthUserKey } from "@/constants/injection-key.ts"
// 这里开始提供
provide(AuthUserKey,{
    name:'小雨',
    age:20,
    address:{
        city:'北京'
    }
})

</script>

<style scoped>

</style>